%constant Urho3D::NetworkSetting InternalProtocolVersion = Urho3D::NetworkSettings::InternalProtocolVersion;
%ignore Urho3D::NetworkSettings::InternalProtocolVersion;
%constant Urho3D::NetworkSetting UpdateFrequency = Urho3D::NetworkSettings::UpdateFrequency;
%ignore Urho3D::NetworkSettings::UpdateFrequency;
%constant Urho3D::NetworkSetting ConnectionId = Urho3D::NetworkSettings::ConnectionId;
%ignore Urho3D::NetworkSettings::ConnectionId;
%constant Urho3D::NetworkSetting InterpolationLimit = Urho3D::NetworkSettings::InterpolationLimit;
%ignore Urho3D::NetworkSettings::InterpolationLimit;
%constant Urho3D::NetworkSetting MaxInputFrames = Urho3D::NetworkSettings::MaxInputFrames;
%ignore Urho3D::NetworkSettings::MaxInputFrames;
%constant Urho3D::NetworkSetting MaxInputRedundancy = Urho3D::NetworkSettings::MaxInputRedundancy;
%ignore Urho3D::NetworkSettings::MaxInputRedundancy;
%constant Urho3D::NetworkSetting PeriodicClockInterval = Urho3D::NetworkSettings::PeriodicClockInterval;
%ignore Urho3D::NetworkSettings::PeriodicClockInterval;
%constant Urho3D::NetworkSetting InputDelayFilterBufferSize = Urho3D::NetworkSettings::InputDelayFilterBufferSize;
%ignore Urho3D::NetworkSettings::InputDelayFilterBufferSize;
%constant Urho3D::NetworkSetting InputBufferingFilterBufferSize = Urho3D::NetworkSettings::InputBufferingFilterBufferSize;
%ignore Urho3D::NetworkSettings::InputBufferingFilterBufferSize;
%constant Urho3D::NetworkSetting InputBufferingWindowSize = Urho3D::NetworkSettings::InputBufferingWindowSize;
%ignore Urho3D::NetworkSettings::InputBufferingWindowSize;
%constant Urho3D::NetworkSetting InputBufferingTweakA = Urho3D::NetworkSettings::InputBufferingTweakA;
%ignore Urho3D::NetworkSettings::InputBufferingTweakA;
%constant Urho3D::NetworkSetting InputBufferingTweakB = Urho3D::NetworkSettings::InputBufferingTweakB;
%ignore Urho3D::NetworkSettings::InputBufferingTweakB;
%constant Urho3D::NetworkSetting InputBufferingMin = Urho3D::NetworkSettings::InputBufferingMin;
%ignore Urho3D::NetworkSettings::InputBufferingMin;
%constant Urho3D::NetworkSetting InputBufferingMax = Urho3D::NetworkSettings::InputBufferingMax;
%ignore Urho3D::NetworkSettings::InputBufferingMax;
%constant Urho3D::NetworkSetting RelevanceTimeout = Urho3D::NetworkSettings::RelevanceTimeout;
%ignore Urho3D::NetworkSettings::RelevanceTimeout;
%constant Urho3D::NetworkSetting ServerTracingDuration = Urho3D::NetworkSettings::ServerTracingDuration;
%ignore Urho3D::NetworkSettings::ServerTracingDuration;
%constant Urho3D::NetworkSetting TimeErrorTolerance = Urho3D::NetworkSettings::TimeErrorTolerance;
%ignore Urho3D::NetworkSettings::TimeErrorTolerance;
%constant Urho3D::NetworkSetting TimeSnapThreshold = Urho3D::NetworkSettings::TimeSnapThreshold;
%ignore Urho3D::NetworkSettings::TimeSnapThreshold;
%constant Urho3D::NetworkSetting MinTimeDilation = Urho3D::NetworkSettings::MinTimeDilation;
%ignore Urho3D::NetworkSettings::MinTimeDilation;
%constant Urho3D::NetworkSetting MaxTimeDilation = Urho3D::NetworkSettings::MaxTimeDilation;
%ignore Urho3D::NetworkSettings::MaxTimeDilation;
%constant Urho3D::NetworkSetting InterpolationDelay = Urho3D::NetworkSettings::InterpolationDelay;
%ignore Urho3D::NetworkSettings::InterpolationDelay;
%constant Urho3D::NetworkSetting ClientTracingDuration = Urho3D::NetworkSettings::ClientTracingDuration;
%ignore Urho3D::NetworkSettings::ClientTracingDuration;
%constant Urho3D::NetworkSetting ExtrapolationLimit = Urho3D::NetworkSettings::ExtrapolationLimit;
%ignore Urho3D::NetworkSettings::ExtrapolationLimit;
%csconstvalue("-1") Urho3D::NetworkObjectRelevance::Irrelevant;
%csconstvalue("0") Urho3D::NetworkObjectRelevance::NoUpdates;
%csconstvalue("1") Urho3D::NetworkObjectRelevance::NormalUpdates;
%csconstvalue("127") Urho3D::NetworkObjectRelevance::MaxPeriod;
%csconstvalue("-9223372036854775808") Urho3D::NetworkFrame::Min;
%csconstvalue("9223372036854775807") Urho3D::NetworkFrame::Max;
%csconstvalue("0") Urho3D::NetworkCallbackMask::None;
%typemap(csattributes) Urho3D::NetworkCallbackMask "[global::System.Flags]";
using NetworkCallbackFlags = Urho3D::NetworkCallbackMask;
%typemap(ctype) NetworkCallbackFlags "size_t";
%typemap(out) NetworkCallbackFlags "$result = (size_t)$1.AsInteger();"
%csattribute(Urho3D::SoftNetworkTime, %arg(Urho3D::NetworkTime), Time, GetTime);
%csattribute(Urho3D::TickSynchronizer, %arg(unsigned int), PendingFollowerTicks, GetPendingFollowerTicks);
%csattribute(Urho3D::TickSynchronizer, %arg(unsigned int), FollowerFrequency, GetFollowerFrequency, SetFollowerFrequency);
%csattribute(Urho3D::TickSynchronizer, %arg(float), FollowerAccumulatedTime, GetFollowerAccumulatedTime);
%csattribute(Urho3D::ClientReplicaClock, %arg(Urho3D::Scene *), Scene, GetScene);
%csattribute(Urho3D::ClientReplicaClock, %arg(Urho3D::AbstractConnection *), Connection, GetConnection);
%csattribute(Urho3D::ClientReplicaClock, %arg(unsigned int), ConnectionId, GetConnectionId);
%csattribute(Urho3D::ClientReplicaClock, %arg(unsigned int), UpdateFrequency, GetUpdateFrequency);
%csattribute(Urho3D::ClientReplicaClock, %arg(unsigned int), InputDelay, GetInputDelay);
%csattribute(Urho3D::ClientReplicaClock, %arg(Urho3D::NetworkTime), ServerTime, GetServerTime);
%csattribute(Urho3D::ClientReplicaClock, %arg(Urho3D::NetworkTime), ReplicaTime, GetReplicaTime);
%csattribute(Urho3D::ClientReplicaClock, %arg(float), ReplicaTimeStep, GetReplicaTimeStep);
%csattribute(Urho3D::ClientReplicaClock, %arg(Urho3D::NetworkTime), InputTime, GetInputTime);
%csattribute(Urho3D::ClientReplicaClock, %arg(float), InputTimeStep, GetInputTimeStep);
%csattribute(Urho3D::ClientReplicaClock, %arg(bool), IsNewInputFrame, IsNewInputFrame);
%csattribute(Urho3D::ClientReplicaClock, %arg(Urho3D::NetworkTime), LatestScaledInputTime, GetLatestScaledInputTime);
%csattribute(Urho3D::ClientReplica, %arg(ea::string), DebugInfo, GetDebugInfo);
%csattribute(Urho3D::ClientReplica, %arg(ea::unordered_set<WeakPtr<NetworkObject>>), OwnedNetworkObjects, GetOwnedNetworkObjects);
%csattribute(Urho3D::ClientReplica, %arg(Urho3D::NetworkObject *), OwnedNetworkObject, GetOwnedNetworkObject);
%csattribute(Urho3D::Detail::NetworkValueBase, %arg(bool), IsInitialized, IsInitialized);
%csattribute(Urho3D::Detail::NetworkValueBase, %arg(unsigned int), Capacity, GetCapacity);
%csattribute(Urho3D::Detail::NetworkValueBase, %arg(Urho3D::NetworkFrame), FirstFrame, GetFirstFrame);
%csattribute(Urho3D::Detail::NetworkValueBase, %arg(Urho3D::NetworkFrame), LastFrame, GetLastFrame);
%csattribute(Urho3D::ClientInputStatistics, %arg(unsigned int), RecommendedBufferSize, GetRecommendedBufferSize);
%csattribute(Urho3D::SharedReplicationState, %arg(ea::unordered_set<NetworkId>), RecentlyRemovedObjects, GetRecentlyRemovedObjects);
%csattribute(Urho3D::SharedReplicationState, %arg(ea::vector<NetworkObject *>), SortedObjects, GetSortedObjects);
%csattribute(Urho3D::SharedReplicationState, %arg(unsigned int), IndexUpperBound, GetIndexUpperBound);
%csattribute(Urho3D::ClientSynchronizationState, %arg(bool), IsSynchronized, IsSynchronized);
%csattribute(Urho3D::ClientSynchronizationState, %arg(Urho3D::NetworkFrame), CurrentFrame, GetCurrentFrame);
%csattribute(Urho3D::ClientSynchronizationState, %arg(unsigned int), InputDelay, GetInputDelay);
%csattribute(Urho3D::ClientSynchronizationState, %arg(unsigned int), InputBufferSize, GetInputBufferSize);
%csattribute(Urho3D::ClientReplicationState, %arg(float), ReportedInputLoss, GetReportedInputLoss, SetReportedInputLoss);
%csattribute(Urho3D::ServerReplicator, %arg(ea::string), DebugInfo, GetDebugInfo);
%csattribute(Urho3D::ServerReplicator, %arg(Urho3D::NetworkTime), ServerTime, GetServerTime);
%csattribute(Urho3D::ServerReplicator, %arg(unsigned int), UpdateFrequency, GetUpdateFrequency);
%csattribute(Urho3D::ServerReplicator, %arg(Urho3D::NetworkFrame), CurrentFrame, GetCurrentFrame, SetCurrentFrame);
%csattribute(Urho3D::NetworkObjectRegistry, %arg(Urho3D::NetworkObjectRegistry::NetworkObjectSpan), NetworkObjects, GetNetworkObjects);
%csattribute(Urho3D::NetworkObjectRegistry, %arg(unsigned int), NetworkIndexUpperBound, GetNetworkIndexUpperBound);
%csattribute(Urho3D::ReplicationManager, %arg(unsigned int), UpdateFrequency, GetUpdateFrequency);
%csattribute(Urho3D::ReplicationManager, %arg(float), TraceDurationInSeconds, GetTraceDurationInSeconds);
%csattribute(Urho3D::ReplicationManager, %arg(unsigned int), TraceDurationInFrames, GetTraceDurationInFrames);
%csattribute(Urho3D::ReplicationManager, %arg(ea::string), DebugInfo, GetDebugInfo);
%csattribute(Urho3D::ReplicationManager, %arg(bool), IsStandalone, IsStandalone);
%csattribute(Urho3D::ReplicationManager, %arg(bool), IsServer, IsServer);
%csattribute(Urho3D::ReplicationManager, %arg(bool), IsClient, IsClient);
%csattribute(Urho3D::ReplicationManager, %arg(Urho3D::ClientReplica *), ClientReplica, GetClientReplica);
%csattribute(Urho3D::ReplicationManager, %arg(Urho3D::ServerReplicator *), ServerReplicator, GetServerReplicator);
%csattribute(Urho3D::ReplicationManager::ClientData, %arg(bool), IsReadyToInitialize, IsReadyToInitialize);
%csattribute(Urho3D::NetworkObject, %arg(Urho3D::NetworkId), NetworkId, GetNetworkId, SetNetworkId);
%csattribute(Urho3D::NetworkObject, %arg(Urho3D::ReplicationManager *), ReplicationManager, GetReplicationManager);
%csattribute(Urho3D::NetworkObject, %arg(Urho3D::NetworkId), ParentNetworkId, GetParentNetworkId);
%csattribute(Urho3D::NetworkObject, %arg(Urho3D::NetworkObject *), ParentNetworkObject, GetParentNetworkObject);
%csattribute(Urho3D::NetworkObject, %arg(ea::vector<WeakPtr<NetworkObject>>), ChildrenNetworkObjects, GetChildrenNetworkObjects);
%csattribute(Urho3D::NetworkObject, %arg(Urho3D::AbstractConnection *), OwnerConnection, GetOwnerConnection);
%csattribute(Urho3D::NetworkObject, %arg(unsigned int), OwnerConnectionId, GetOwnerConnectionId);
%csattribute(Urho3D::NetworkObject, %arg(Urho3D::NetworkObjectMode), NetworkMode, GetNetworkMode, SetNetworkMode);
%csattribute(Urho3D::NetworkObject, %arg(bool), IsStandalone, IsStandalone);
%csattribute(Urho3D::NetworkObject, %arg(bool), IsServer, IsServer);
%csattribute(Urho3D::NetworkObject, %arg(bool), IsOwnedByThisClient, IsOwnedByThisClient);
%csattribute(Urho3D::NetworkObject, %arg(bool), IsReplicatedClient, IsReplicatedClient);
%csattribute(Urho3D::NetworkBehavior, %arg(Urho3D::BehaviorNetworkObject *), NetworkObject, GetNetworkObject, SetNetworkObject);
%csattribute(Urho3D::NetworkBehavior, %arg(Urho3D::NetworkCallbackFlags), CallbackMask, GetCallbackMask);
%csattribute(Urho3D::FilteredByDistance, %arg(bool), IsRelevant, IsRelevant, SetRelevant);
%csattribute(Urho3D::FilteredByDistance, %arg(unsigned int), UpdatePeriod, GetUpdatePeriod, SetUpdatePeriod);
%csattribute(Urho3D::FilteredByDistance, %arg(float), Distance, GetDistance, SetDistance);
%csattribute(Urho3D::PredictedKinematicController, %arg(bool), IsConnectedToComponents, IsConnectedToComponents);
%csattribute(Urho3D::PredictedKinematicController, %arg(bool), IsConnectedToStandaloneComponents, IsConnectedToStandaloneComponents);
%csattribute(Urho3D::PredictedKinematicController, %arg(Urho3D::Vector3), Velocity, GetVelocity);
%csattribute(Urho3D::ReplicatedAnimation, %arg(unsigned int), NumUploadAttempts, GetNumUploadAttempts, SetNumUploadAttempts);
%csattribute(Urho3D::ReplicatedAnimation, %arg(bool), ReplicateOwner, GetReplicateOwner, SetReplicateOwner);
%csattribute(Urho3D::ReplicatedAnimation, %arg(float), SmoothingTime, GetSmoothingTime, SetSmoothingTime);
%csattribute(Urho3D::ReplicatedAnimation, %arg(Urho3D::StringMap), AnimationLookup, GetAnimationLookup);
%csattribute(Urho3D::ReplicatedTransform, %arg(unsigned int), NumUploadAttempts, GetNumUploadAttempts, SetNumUploadAttempts);
%csattribute(Urho3D::ReplicatedTransform, %arg(bool), ReplicateOwner, GetReplicateOwner, SetReplicateOwner);
%csattribute(Urho3D::ReplicatedTransform, %arg(bool), PositionTrackOnly, GetPositionTrackOnly, SetPositionTrackOnly);
%csattribute(Urho3D::ReplicatedTransform, %arg(bool), RotationTrackOnly, GetRotationTrackOnly, SetRotationTrackOnly);
%csattribute(Urho3D::ReplicatedTransform, %arg(float), SmoothingConstant, GetSmoothingConstant, SetSmoothingConstant);
%csattribute(Urho3D::ReplicatedTransform, %arg(float), MovementThreshold, GetMovementThreshold, SetMovementThreshold);
%csattribute(Urho3D::ReplicatedTransform, %arg(float), SnapThreshold, GetSnapThreshold, SetSnapThreshold);
%csattribute(Urho3D::ReplicatedTransform, %arg(bool), SynchronizePosition, GetSynchronizePosition, SetSynchronizePosition);
%csattribute(Urho3D::ReplicatedTransform, %arg(Urho3D::ReplicatedRotationMode), SynchronizeRotation, GetSynchronizeRotation, SetSynchronizeRotation);
%csattribute(Urho3D::ReplicatedTransform, %arg(bool), ExtrapolatePosition, GetExtrapolatePosition, SetExtrapolatePosition);
%csattribute(Urho3D::ReplicatedTransform, %arg(bool), ExtrapolateRotation, GetExtrapolateRotation, SetExtrapolateRotation);
%csattribute(Urho3D::ReplicatedTransform, %arg(ea::optional<NetworkFrame>), LatestFrame, GetLatestFrame);
